Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Commit ddbb03af5183d4fb224b25f13f4a08a19ed3c2aa


Parents : 237f669
Author : Mark Qvist <mark@unsigned.io>
Date : 2023-12-31T14:45:26+01:00

Fixed missing check for None on telemetry save, when own location was not yet determined

Changes

1 files changed, 13 insertions(+), 9 deletions(-)


Diff

diff --git a/sbapp/sideband/core.py b/sbapp/sideband/core.py
index 4399ff3a..e389f147 100644
--- a/sbapp/sideband/core.py
+++ b/sbapp/sideband/core.py
@@ -1642,14 +1642,15 @@ class SidebandCore():
if rl and "latitude" in rl and "longitude" in rl and "altitude" in rl:
if self.latest_telemetry != None and "location" in self.latest_telemetry:
ol = self.latest_telemetry["location"]
- if "latitude" in ol and "longitude" in ol and "altitude" in ol:
- olat = ol["latitude"]; olon = ol["longitude"]; oalt = ol["altitude"]
- rlat = rl["latitude"]; rlon = rl["longitude"]; ralt = rl["altitude"]
- if olat != None and olon != None and oalt != None:
- if rlat != None and rlon != None and ralt != None:
- remote_telemeter.sensors["received"].set_distance(
- (olat, olon, oalt), (rlat, rlon, ralt)
- )
+ if ol != None:
+ if "latitude" in ol and "longitude" in ol and "altitude" in ol:
+ olat = ol["latitude"]; olon = ol["longitude"]; oalt = ol["altitude"]
+ rlat = rl["latitude"]; rlon = rl["longitude"]; ralt = rl["altitude"]
+ if olat != None and olon != None and oalt != None:
+ if rlat != None and rlon != None and ralt != None:
+ remote_telemeter.sensors["received"].set_distance(
+ (olat, olon, oalt), (rlat, rlon, ralt)
+ )
remote_telemeter.sensors["received"].update_data()
telemetry = remote_telemeter.packed()
@@ -1677,7 +1678,10 @@ class SidebandCore():
return telemetry
except Exception as e:
- RNS.log("An error occurred while saving telemetry to database: "+str(e), RNS.LOG_ERROR)
+ import traceback
+ exception_info = "".join(traceback.TracebackException.from_exception(e).format())
+ RNS.log(f"A {str(type(e))} occurred while saving telemetry to database: {str(e)}", RNS.LOG_ERROR)
+ RNS.log(exception_info, RNS.LOG_ERROR)
self.db = None
def _db_update_appearance(self, context_dest, timestamp, appearance, from_bulk_telemetry=False):


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────